Natural language processing systems include various modules and components for receiving textual input from a user and determining what the user meant. In some implementations, a natural language processing system includes an automatic speech recognition (“ASR”) module that receives audio input of a user utterance and generates one or more likely transcriptions of the utterance. Natural language processing systems may also include a natural language understanding (“NLU”) module that receives textual input, such as a transcription of a user utterance, and determines the meaning of the text in a way that can be acted upon, such as by a computer application. For example, a user of a mobile phone may issue a spoken command to initiate a phone call. Audio of the spoken command can be transcribed by the ASR module, and the NLU module can determine the user's intent (e.g., that the user wants to initiate the phone call feature) from the transcription and generate a command to initiate the phone call.
An NLU module can identify particular words (e.g., named entities) in the transcription that are of particular importance in determining the user's intent. Based on those named entities, the NLU module can identify the user's intent and generate an output that may be used by an application to respond or otherwise perform an action regarding the user's intent. In a typical implementation, application software utilizes information about the user's intent, as determined by the NLU module, to perform actions, such as user-requested operations like playing music, performing searches, launching programs, etc.